package com.minli.weixin.service;

import com.alibaba.fastjson.JSONObject;
import com.minli.weixin.service.bo.WxUserInfo;
import com.minli.weixin.service.bo.WxmpTempMsg;

/**
 * 微信平台服务
 * @author wangml
 * @date 2017-07-03
 */
public interface IWxmpService {
    /**
     * 获取JS_SIGN
     * @return
     */
    String getJsSign();
    /**
     * 获取version
     * @return
     */
    String getVersion();
	/**
     * 获取appId
     * @return
     */
    String getAppId();
	
	/**
     * 获取公众号access_token
     * 放入缓存，2小时内可用
     * @param refresh 是否刷新
     * @return
     */
    String getAccessToken(boolean refresh);
    
	/**
	 * 发送模板消息
	 * @param wxmpTempMsg
	 * @return
	 * @throws Exception
	 */
    String sendTempMsg(WxmpTempMsg wxmpTempMsg) throws Exception;
    
	/**
     * 获取授权信息
     * @param code
     * @return
     * @throws Exception
     */
    JSONObject getAccessInfo(String code) throws Exception;
    
    /**
     * 获取用户信息
     * @param access_token
     * @param openid
     * @return
     * @throws Exception
     */
    WxUserInfo getUserInfo(String access_token, String openid) throws Exception;
    
    /**
     * 获取jsapi_ticket
     * https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115
     * @return
     */
    String getJsapiTicket();
}
